﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ESP
{
    //////////////////////////////////////////////////////////////////////
    //   Alan Oursland  
    // 
    //   ESP Java implementation.
    //
    //	 This code is a direct port of Faustino Gomez's ESP code
    //   that was code started from Daniel Polani's translation of 
    //   Dave Moriarty's original SANE code from C to C++.
    //   
    //   $Log: IEnvironment.java,v $
    //////////////////////////////////////////////////////////////////////////
    public interface IEnvironment
    {
        /*
            public int inputSize;
            public int outputSize;
            public double maxFitness;
        */
        double evalNet(Network net);
        void nextTask();
        bool hasNextTask();
        void simplifyTask();
        int getInputSize();
        int getOutputSize();
        double getMaxFitness();
        void setupInput(double[] input);

        bool validate(Network network);
    }
}
